#ifndef __peerxtag_h__
#define __peerxtag_h__

/* Forward Declarations */

struct ENUMDESC;

/* header files for imported files */
#include "types.h"

/* header files for imported files */
#include "element.h"

/* header files for imported files */
#include "document.h"

#ifndef __IHTMLNamespace_FWD_DEFINED__
#define __IHTMLNamespace_FWD_DEFINED__
typedef interface IHTMLNamespace IHTMLNamespace;
#endif     /* __IHTMLNamespace_FWD_DEFINED__ */

#ifndef __IHTMLNamespaceCollection_FWD_DEFINED__
#define __IHTMLNamespaceCollection_FWD_DEFINED__
typedef interface IHTMLNamespaceCollection IHTMLNamespaceCollection;
#endif     /* __IHTMLNamespaceCollection_FWD_DEFINED__ */

#ifndef __IHTMLNamespace_INTERFACE_DEFINED__

#define __IHTMLNamespace_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLNamespace;


MIDL_INTERFACE("3050f6bb-98b5-11cf-bb82-00aa00bdce0b")
IHTMLNamespace : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE get_name(
         /* [out] */ BSTR * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_urn(
         /* [out] */ BSTR * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_tagNames(
         /* [out] */ IDispatch* * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_readyState(
         /* [out] */ VARIANT * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE put_onreadystatechange(
         /* [in] */ VARIANT v) = 0;

    virtual HRESULT STDMETHODCALLTYPE get_onreadystatechange(
         /* [out] */ VARIANT * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE doImport(
            /* [in] */ BSTR bstrImplementationUrl) = 0;

    virtual HRESULT STDMETHODCALLTYPE attachEvent(
            /* [in] */ BSTR event,/* [in] */ IDispatch* pDisp,/* [out] */ VARIANT_BOOL* pfResult) = 0;

    virtual HRESULT STDMETHODCALLTYPE detachEvent(
            /* [in] */ BSTR event,/* [in] */ IDispatch* pDisp) = 0;

};

#endif     /* __IHTMLNamespace_INTERFACE_DEFINED__ */


#ifndef __IHTMLNamespaceCollection_INTERFACE_DEFINED__

#define __IHTMLNamespaceCollection_INTERFACE_DEFINED__

EXTERN_C const IID IID_IHTMLNamespaceCollection;


MIDL_INTERFACE("3050f6b8-98b5-11cf-bb82-00aa00bdce0b")
IHTMLNamespaceCollection : public IDispatch
{
public:
    virtual HRESULT STDMETHODCALLTYPE get_length(
         /* [out] */ long * p) = 0;

    virtual HRESULT STDMETHODCALLTYPE item(
            /* [in] */ VARIANT index,/* [out] */ IDispatch** ppNamespace) = 0;

    virtual HRESULT STDMETHODCALLTYPE add(
            /* [in] */ BSTR bstrNamespace,/* [in] */ BSTR bstrUrn,/* [in] */ VARIANT implementationUrl,/* [out] */ IDispatch** ppNamespace) = 0;

};

#endif     /* __IHTMLNamespaceCollection_INTERFACE_DEFINED__ */



EXTERN_C const GUID GUID_HTMLNamespace;


#ifndef _CHTMLNamespace_PROPDESCS_
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCHTMLNamespacename;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCHTMLNamespaceurn;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCHTMLNamespacetagNames;
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCHTMLNamespacereadyState;
EXTERN_C const PROPERTYDESC_BASIC s_propdescCHTMLNamespaceonreadystatechange;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCHTMLNamespacedoImport;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCHTMLNamespaceattachEvent;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCHTMLNamespacedetachEvent;

#endif


EXTERN_C const GUID GUID_HTMLNamespaceCollection;


#ifndef _CHTMLNamespaceCollection_PROPDESCS_
EXTERN_C const PROPERTYDESC_BASIC_ABSTRACT s_propdescCHTMLNamespaceCollectionlength;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCHTMLNamespaceCollectionitem;
EXTERN_C const PROPERTYDESC_METHOD s_methdescCHTMLNamespaceCollectionadd;

#endif


#endif /*__peerxtag_h__*/

